The present invention relates generally to data communication systems and more particularly relates to an overlapping windowing mechanism for smoothing the transition between two consecutive transmit waveform signals in a communications transmitter.
The use of spread spectrum communications techniques to improve the reliability and security of communications is well known and is becoming increasingly common. Spread spectrum communications transmits data utilizing a spectrum bandwidth that is much greater than the bandwidth of the data to be transmitted. This provides for more reliable communication in the presence of high narrowband noise, spectral distortion and pulse noise, in addition to other advantages. Spread spectrum communication systems typically utilize correlation techniques to identify an incoming received signal.
Spread spectrum communication systems modulate a spreading waveform that is then transmitted onto the channel. Commonly used spreading waveforms may include a chirp signal or a pseudo noise (PN) sequence. A plot of an example PN sequence type spreading waveform is shown in FIG. 1. The pulse shown is adapted for use in the frequency range of 120 to 400 kHz for use in the United States. The pulse serves as the transmit waveform that is modulated by the transmitter in accordance with the data to be transmitted. Each symbol is transmitted as a pulse that is modulated in accordance with the data.
In order to meet limitations on spectral bandwidth imposed by government bodies, the transmit waveform must meet certain criteria. In the United States, for example, the Federal Communications Commission (FCC) Standard, in Part 15, Section 107 on Conducted limits, specifies for equipment designed to be connected to the public utility (AC) power line, the RE voltage conducted back onto the AC power line for carrier current systems containing their fundamental emission within the frequency band 535-1705 kHz, the limit on conducted emissions is 1000 xcexcV within the frequency band 535-1705 kHz. This corresponds to an attenuation of 60 dB.
Although each individual transmit waveform may be constructed to meet any such criteria, a problem arises when transmit waveforms are concatenated consecutively into a pulse sequence.
For example, in the case of code shift keying (CSK) modulation, the spreading waveform is circularly shifted in accordance with the data to be transmitted. Discontinuities are created at the point of intersection between two consecutive symbols (i.e. transmit waveforms) which create higher than permitted levels of harmonics in the transmitted signal.
The spectrum plot of a transmit signal comprising a sequence of transmit waveforms is shown in FIG. 2. A product using such a transmit waveform to communicate would not be able to meet FCC Part 15 standards for limitations on out of band harmonics.
There is thus a need for a mechanism to reduce the effect of discontinuities between consecutive transmitted symbols, to reduce out of band harmonics of the transmitted output signal.
Accordingly, the present invention is a novel and useful windowing mechanism for reducing the out of band harmonics of an output transmit signal. The windowing mechanism functions to smooth the transition between two consecutive transmit waveforms. The windowing mechanism of the present invention is operative to reduce the effect of discontinuities to reduce out of band harmonics of the transmitted output signal.
The mechanism of the present invention is useful in communication systems characterized by consecutively transmitted symbols whereby the concatenation of transmitted waveforms causes discontinuities between symbols. The mechanism is particularly useful in spread spectrum communication systems that operate in constrained bandwidth environments such as power line carrier, ISM frequency bands (e.g., 900 MHz, 2.4 GHz, etc.) or any other narrowband environments.
The windowing mechanism is operative to extend each transmit waveform both earlier and later in time thus creating extending waveform portions on either end of the transmit waveform. The extended portions are then multiplied by a suitable windowing function and the result is summed with the previous and next transmit waveforms.
The windowing function was developed in light of the following design goals and tradeoffs. The windowing function was designed to have low computational complexity but with high spectral efficiency wherein the number of multiplications required is reduced to a minimum. In addition, the windowing function has a short time response (i.e. overlap zones) since ISI intersymbol interference (ISI) is introduced in the overlap zones which degrades the overall performance of a modem that incorporates the invention. Further, the windowing function is a constant envelope window which is important for optimal exploitation of the output amplifier since it allows the use of rail-to-rail designed input symbols with the amplifier.
The start of the transmit waveform is extended earlier in time to generate a first overlapping or extended portion while the end of the transmit waveform is also extended later in time to generate a second extended portion. Similarly, the end of the previous transmit waveform is extended to create an extended portion and the start of the next transmit waveform is also extended to create an extended portion.
Once the extended portions are generated, a windowing function is applied to the transmit waveforms. The windowing function is applied not only to the extended portions but also to equivalent length start and end portions of the transmit waveform itself. The windowing function is also applied to the previous and next transmit waveforms as well. The current transmit waveform is multiplied by the amplitude of the windowing function.
Each extended transmit waveform is multiplied by the windowing function. The windowed extended transmit waveforms are overlapped and summed to generate a windowed transmit signal. Thus, the windowing process, causes each transmit waveform to be included somewhat in the previous and next transmit waveforms. The windowing function may comprise any suitable function, such as a linear or non-linear function.
The present invention has applications in systems where it is desired to reduce the out of band harmonics of a transmit signal in order to conform to government imposed regulations on out of band attenuation, an example of which is the FCC Standard, Part 15, Section 107 on Conducted limits which specifies, for equipment designed to be connected to the public utility (AC) power line, a limit of 1000 xcexcV within the frequency band 535-1705 kHz for carrier current systems containing their fundamental emission within the frequency band 535-1705 kHz for the RF emissions conducted back onto the AC power line, corresponding to an attenuation of 60 dB.
Many aspects of the invention may be constructed as software objects that execute in embedded devices as firmware, software objects that execute us part of a software application on a computer system running an operating system suck as Windows, UNIX, LINUX, etc., an Application Specific Integrated Circuit (ASIC) or functionally equivalent discrete hardware components.
There is therefore provided in accordance with the invention a method of windowing a sequence of symbols, the method comprising the steps of appending zero or more signal continuations to a current symbol so as to generate an augmented symbol and multiplying zero or more portions of the augmented symbol with a window.
There is also provided in accordance with the invention a method of windowing a sequence of transmit waveforms, each transmit waveform having a first end and a second end, the method comprising the steps of continuing the second end of a previous transmit waveform later in time to generate a second continued portion, continuing the first end of a next transmit waveform earlier in time to generate a first continued portion, wherein the next transmit waveform is consecutively later in time from the previous transmit waveform, multiplying the first continued portion, the second continued portion and a current transmit waveform by a windowing function to generate a weighted first continued portion, a weighted second continued portion and a weighted current transmit waveform, respectively and summing the first weighted continued portion, the second weighted portion and the weighted current transmit waveform to generate an augmented current transmit waveform.
There is further provided in accordance with the invention a method of windowing a sequence of transmit waveforms, each transmit waveform having a first end and a second end, the method comprising the steps of extending the first end of a current waveform earlier in time by cyclically shifting right the transmit waveform to generate a first extended portion, extending the second end of the current waveform later in time by cyclically shifting left the transmit waveform to generate a second extended portion, extending the second end of a previous transmit waveform later in time by cyclically shifting left the previous transmit waveform to generate a third extended portion, extending the first end of a next transmit waveform earlier in time by cyclically shifting right the next transmit waveform to generate a fourth extended portion, multiplying the first extended portion, the second extended portion, the third extended portion and the fourth extended portion by a windowing function so as to generate a first windowed portion, second windowed portion, third windowed portion and fourth windowed portion, respectively and adding the first windowed portion to the second end of the previous transmit waveform, the second windowed portion to the first end of the next transmit waveform, the third windowed portion to the first end of the current transmit waveform and the fourth windowed portion the second end of the current transmit waveform.
There is also provided in accordance with the invention a method of windowing a sequence of transmit waveforms, the method comprising the steps of extending each transmit waveform both earlier and later in time, applying a windowing function to both extended portions of each transmit waveform and overlapping and summing the extended portions of a current transmit waveform with the previous transmit waveform and next waveform.
There is further provided in accordance with the invention an Application Specific Integrated Circuit (ASIC) for use in a communications node for windowing a transmit waveform sequence, each transmit waveform having a first end and second end later in time from the first end comprising means for generating a second continued portion by cyclically continuing later in time the second end of a previous transmit waveform, means for generating a first continued portion by cyclically continuing earlier in time the first end of a next transmit waveform, means for multiplying the first continued portion by the amplitude of a first windowing function to generate a weighted first continued portion and multiplying the second continued portion by the amplitude of a second windowing function to generate a weighted second continued portion and means for summing the first weighted continued portion with the second end of the previous transmit waveform and the second weighted continued portion with the first end of the next transmit waveform.
There is also provided in accordance with the invention a transmitter for use in a communications system comprising an initial index calculator operative to generate an initial index in accordance with a shift index input from a host data source, a transmit waveform generator adapted to generate a sequence of transmit waveforms, each transmit waveform rotated by an amount in accordance with the initial index and having a length equal to the length of a modulation waveform signal, a windowing circuit adapted to receive the transmit waveform and to apply a windowing function thereto, the windowing circuit comprising means for generating a second continued portion by cyclically continuing later in time the second end of a previous transmit waveform, means for generating a first continued portion by cyclically continuing earlier in time the first end of a next transmit waveform, means for multiplying the first continued portion by the amplitude of a first windowing function to generate a weighted first continued portion and multiplying the second continued portion by the amplitude of a second windowing function to generate a weighted second continued portion, means for summing the first weighted continued portion with the second end of the previous transmit waveform and the second weighted continued portion with the first end of the next transmit waveform so as to generate a windowed transmit waveform, channel coupling circuitry operative to filter, amplify and couple the windowed waveform onto a channel media.
There is further provided in accordance with the invention a communications station for transmitting and receiving signals to and from other stations connected over a shared communications media based network comprising a coupling circuit for generating a receive signal received over the network and for outputting a transmit signal onto the network, a transmitter adapted to modulate data to be transmitted in accordance with a modulation scheme so as to generate a transmit waveform therefrom, the transmitter comprising a windowing circuit for applying a windowing function to the transmit waveform, the windowing circuit comprising means for generating a second continued portion by cyclically continuing later in time the second end of a previous transmit waveform, means for generating a first continued portion by cyclically continuing earlier in time the first end of a next transmit waveform, means for multiplying the first continued portion by the amplitude of a first windowing function to generate a weighted first continued portion and multiplying the second continued portion by the amplitude of a second windowing function to generate a weighted second continued portion, means for summing the first weighted continued portion with the second end of the previous transmit waveform and the second weighted continued portion with the first end of the next transmit waveform so as to generate a windowed transmit waveform, a receiver adapted to demodulate the receive signal in accordance with the modulation scheme so as to generate a receive data signal therefrom, a media access control (MAC) circuit adapted to interface an application processor to the shared communications media, the application processor adapted to control the operation of the transmitter, receiver and MAC and to provide an interface between the MAC and an external host.
There is also provided in accordance with the invention a computer program product for use in communications station, the computer program product comprising a computer useable medium having computer readable program code means embodied in the medium for applying a windowing function to a transmit waveform in a communications node, the computer program product comprising computer readable program code means for generating a second continued portion by cyclically continuing later in time the second end of a previous transmit waveform, computer readable program code means for generating a first continued portion by cyclically continuing earlier in time the first end of a next transmit waveform, computer readable program code means for multiplying the first continued portion by the amplitude of a first windowing function to generate a weighted first continued portion and multiplying the second continued portion by the amplitude of a second windowing function to generate a weighted second continued portion and computer readable program code means for summing the first weighted continued portion with the second end of the previous transmit waveform and the second weighted continued portion with the first end of the next transmit waveform.